草庐IT

java - 在 Eclipse Testrunner 中具有名称的 ParameterizedTest

全部标签

ruby - 如何从 Ruby 检查具有特定 pid 的进程是否正在运行?

如果有不止一种方法,请列出它们。我只知道一个,但我想知道是否有更简洁的Ruby方式。 最佳答案 Process.getpgid和Process::kill方法之间的区别似乎是当pid存在但由另一个用户拥有时会发生什么。Process.getpgid将返回一个答案,Process::kill将抛出一个异常(Errno::EPERM)。基于此,我推荐Process.getpgid,如果只是因为它可以让您不必捕获两个不同的异常。这是我使用的代码:beginProcess.getpgid(pid)truerescueErrno::ESRCH

ruby-on-rails - ruby 方法名称中的变量

我有以下代码:forattributeinsite.device_attributesdevice.attributeend我希望代码用“属性”的值替换方法名称。我已经尝试过device."#{attribute}"和各种排列组合。这完全不可能吗?我错过了什么吗?我考虑过重写method_missing,但我无法弄清楚当我的问题是我需要调用“未知”方法时这对我有何实际帮助。 最佳答案 您可以使用#send方法通过方法名调用对象的方法:object.send(:foo)#sameasobject.foo您可以将参数传递给调用的方法:o

ruby - 如何将散列键转换为方法名称?

这是我的哈希:tempData={"a"=>100,"here"=>200,"c"=>"hello"}我需要像下面这样的方法来访问散列键:tempData.a#100tempData.here#200 最佳答案 你可以把你的散列包在OpenStruct中:require'ostruct'tempData={"a"=>100,"here"=>200,"c"=>"hello"}os=OpenStruct.newtempDataos.a#=>100os.here#=>200如果你真的真的想要,你也可以猴子修补Hash类,但我建议不要这样做

ruby - 在 Ruby 中按名称获取类?

有一个包含模块和类名的字符串,例如:"Admin::MetaDatasController"我如何获得实际类(class)?如果没有模块,则以下代码有效:Kernel.const_get("MetaDatasController")但它会破坏模块:ruby-1.8.7-p174>Kernel.const_get("Admin::MetaDatasController")NameError:wrongconstantnameAdmin::MetaDatasControllerfrom(irb):34:in`const_get'from(irb):34ruby-1.8.7-p174>

ruby - 具有条件的数组的第一个元素

有没有比这更短的方法来找到满足某些条件的数组中的第一个元素:my_array[my_array.index{|x|x.some_test}] 最佳答案 试试这个:my_array.find{|x|x.some_test}或者这里有一个捷径(感谢@LarsHaugseth的提醒)my_array.find(&:some_test) 关于ruby-具有条件的数组的第一个元素,我们在StackOverflow上找到一个类似的问题: https://stackover

ruby-on-rails - 如何在 Ruby on Rails 中以编程方式查找命名空间/模块名称?

如何在下面的过滤器中找到namespace或模块“Foo”的名称?classApplicationController 最佳答案 这些解决方案都没有考虑具有多个父模块的常量。例如:A::B::C从Rails3.2.x开始,您可以简单地:"A::B::C".deconstantize#=>"A::B"从Rails3.1.x开始,您可以:constant_name="A::B::C"constant_name.gsub("::#{constant_name.demodulize}",'')这是因为#demodulize与#deconst

ruby - `def self.function` 名称是什么意思?

谁能给我解释一下在方法定义中添加self是什么意思?是不是类似于java中的this关键字? 最佳答案 与其他语言不同,Ruby没有类方法,但它有附加到特定对象的单例方法。cat=String.new("cat")defcat.speak'miaow'endcat.speak#=>"miaow"cat.singleton_methods#=>["speak"]defcat.speak创建附加到对象cat的单例方法。当你写classA时,它等同于A=Class.new:A=Class.newdefA.speak"I'mclassA"e

ruby - 在方法定义中将等号 ('=' ) 放在方法名称之后有什么作用?

我在截屏视频中看到了这一点,只是想知道“=”符号在这种情况下的作用。defexpress_token=(token)...end如果是这样的话我会理解的——defexpress_token(token=nil)上面(第二个代码片段)表示将nil设置为tokens参数的默认值。但是,在第一个代码片段中,'='在括号之外。 最佳答案 该片段定义了一个VirtualAttribute(或“setter”方法)使“express_token”看起来像一个属性,即使它只是方法的名称。例如:classFoodeffoo=(x)puts"OK:x

ruby - 为什么这个 Ruby 对象同时具有 to_s 和 inspect 方法,它们看起来做同样的事情?

为什么这个Ruby对象的to_s和inspect方法看起来做同样的事情?p方法调用inspect和puts/print调用to_s来表示对象。如果我跑classGraphdefinitialize@nodeArray=Array.new@wireArray=Array.newenddefto_s#calledwithprint/puts"Graph:#{@nodeArray.size}"enddefinspect#calledwithp"G"endendif__FILE__==$0gr=Graph.newpgrprintgrputsgrend我明白了GGraph:0Graph:0那么,

ruby-on-rails - 我如何找出哪个 gem 具有特定的依赖性?

我注释掉了一个gem,但“bundleinstall”仍然无法运行。我如何找出哪个gem依赖于sys-proctable?$bundleinstallFetchinggemmetadatafromhttps://rubygems.org/.........Fetchinggemmetadatafromhttps://rubygems.org/..Resolvingdependencies...Couldnotfindsys-proctable-0.9.2inanyofthesources$grepproctableGemfile#gem'sys-proctable','0.9.2',: